package com.darkplanet.management.dao;

import com.darkplanet.management.domain.Role;
import com.darkplanet.management.domain.RoleMenu;
import com.darkplanet.management.util.JDBCUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import java.sql.SQLException;
import java.util.List;

public class RoleMenuDaoimpl implements IRoleMenuDao {

    QueryRunner queryRunner=new QueryRunner(JDBCUtil.getDs());
    @Override
    public List<RoleMenu> getRoles(Integer role_id) {
     List <RoleMenu> roleMenu=null;
     String sql="select * from RoleMenu where role_id = ?";
     try {
         roleMenu = queryRunner.query(sql, new BeanListHandler<RoleMenu>(RoleMenu.class),role_id);
     }catch(SQLException e){
         e.printStackTrace();
        }
        return roleMenu;
    }

    @Override
    public void addRoleMenu(Integer role_id, Integer s_menu_id) {
        String sql="insert into rolemenu(role_id,s_menu_id) values (?,?)";
        try {
            queryRunner.update(sql,role_id,s_menu_id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }


    @Override
    public void deleteRoleMenu(Integer id) {
        String sql="delete from rolemenu where role_id=?";
        try {
            queryRunner.update(sql,id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

//    @Override
//    public Role queryRoleMenu(Integer id) {
//        Role role=null;
//        String sql="select * from rolemenu where role_id=?";
//        try {
//            role=queryRunner.query(sql,new BeanHandler<>(Role.class),id);
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return role;
//    }

//    @Override
//    public List queryAllRoleMenu() {
//        List<Role> role=null;
//        String sql="select * from rolemenu ";
//        try {
//            role=queryRunner.query(sql,new BeanListHandler<>(Role.class));
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return role;
//    }
}
